package com.linkgie.galaxyframework.context;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 将一个接口标记为主目录配置；
 * <p>
 * 
 * @author Hike
 *
 */
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
public @interface HomeConfig {

	/**
	 * 是否延迟初始化配置的路径；
	 * <p>
	 * 
	 * 如果为 true ，则直到一项配置路径(以 {@link HomePath} 标注的方法)被首次访问才初始化此路径；<br>
	 * 
	 * 如果为 false，则在首次加载和解析由 {@link HomeConfig} 标注的主目录配置接口时，一次性对此主目录配置的所有配置路径进行初始化；
	 * <p>
	 * 
	 * 默认为 false；
	 * 
	 * @return
	 */
	boolean lazyInitPath() default false;

}
